package com.ny.mapper;
import com.ny.entity.Device;
import org.springframework.data.mongodb.repository.DeleteQuery;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;

import java.util.Date;
import java.util.List;

// 继承MongoRepository，泛型为<实体类, 主键类型>
public interface DeviceMapper extends MongoRepository<Device, Integer> {
    //查询所有设备名称
    List<Device> findAll();
    // 根据设备名称查询设备信息
    List<Device> findByDeviceName(String deviceName);



// 根据设备ID删除设备
@DeleteQuery("{'device_id': ?0}")
void deleteDeviceById(Integer deviceId);

// 查询某个时间段且状态是离线的设备信息
    @Query("{'created_time': {'$gte': ?0, '$lte': ?1}, 'status': 0}")
    List<Device> findOfflineDevicesByTime(Date startTime);
}